package com.authority.service;

import java.util.List;

import com.authority.entry.AuthUserRoleDO;
import com.authority.result.PageResult;
import com.authority.vo.ExternalUser;

/**
 * 用户角色关系
 * 
 * @author limeng.g  Date 0215/10/20
 *
 */
public interface AuthUserRoleService {

	/**
	 * 更新用户角色关系
	 * 
	 * @param list
	 */
	void modifyAuthUserRole(Long userId, Long sysId, List<AuthUserRoleDO> list);

	/**
	 * 获取用户的所有角色名称
	 * 
	 * @return
	 */
	String getRoleNamesByUserId(Long sysId, Long userId);

	/**
	 * 获取用户的所有角色id
	 * 
	 * @return
	 */
	String getRoleIdsByUserId(Long sysId, Long userId);

	/**
	 * 获取角色的所有用户id
	 * 
	 * @param query
	 * @return
	 */
	String getUserIdsByRoleId(Long sysId, Long roleId);

	/**
	 * 获取配置有角色的用户
	 * 
	 * @param sysId
	 * @param userId
	 * @param account
	 * @param userName
	 * @param roleId
	 * @param status
	 * @return
	 * @throws Exception
	 */
	PageResult<ExternalUser> listUser(Long sysId, Long userId, String account, String userName, Long roleId, Integer status, int index) throws Exception;

}
